Cú pháp Python_(ngôn_ngữ_lập_trình)

Sau đây là cú pháp cơ bản nhất của ngôn ngữ Python:

Khối lệnh

Khác với đa số ngôn ngữ họ C sử dụng cặp ngoặc ngọn { } để phân chia khối lệnh, Python sử dụng lùi đầu dòng (indentation) như dấu cách hay tab để biểu thị khối lệnh. Các lệnh nằm cùng mức lùi đầu dòng sẽ cùng thuộc một khối. Để biểu thị một khối rỗng Python có từ khoá "pass".

Toán tử

+ - * /  // (phép chia số nguyên)  % (chia lấy dư)  ** (lũy thừa)~ (not)  & (and)  | (or)  ^ (xor)<< (left shift)  >> (right shift)== (bằng)  <=  >=    != (khác)

Python sử dụng ký pháp trung tố thường gặp trong các ngôn ngữ lập trình khác.

Các kiểu dữ liệu

  • Kiểu số
    1234585396326 (số nguyên dài vô hạn)  -86.12   7.84E-042j     3 + 8j
  • Kiểu chuỗi (string)
  • Kiểu bộ (tuple)
    (1, 2.0, 3)   (1,)    ("Hello",1,())
  • Kiểu danh sách (list)
    [4.8, -6]    ['a','b']
  • Kiểu từ điển (dictionary)
    {"Hanoi":"Vietnam", "Haiphong":"Vietnam", "Hochiminh":"Vietnam", "Netherlands":"Amsterdam", "France":"Paris"}

Chú thích

1 # dòng chú thích
1 "" " đa chú thích2     đa chú thích3     đa chú thích " ""

Lệnh gán

1 tên biến = biểu thức2 x = 23.83 y = -x ** 24 z1 = z2 = x + y5 loiChao = "Hello!"6 7 i += 1    # tăng biến i thêm 1 đơn vị

In giá trị

1 print biểu thức2 print (7 + 8) / 2.03 print (2 + 3j) * (4 - 6j)

Nội suy chuỗi (string interpolation)

1 print "Hello %s" %("world!")2 print "i = %d" %i3 print "a = %.2f and b = %.3f" %(a,b)

Cấu trúc rẽ nhánh

  • Dạng 1:
    if biểu_thức_điều_kiện:    # lệnh...
  • Dạng 2:
    if biểu_thức_điều_kiện:    # lệnh...else:    # lệnh...
  • Dạng 3:
    if biểu_thức_điều_kiện_1:    # lệnh... (được thực hiện nếu biểu_thức_điều_kiện_1 là đúng/true)elif biểu_thức_điều_kiện_2:    # lệnh... (được thực hiện nếu biểu_thức_điều_kiện_1 là sai/false, nhưng biểu_thức_điều_kiện_2 là đúng/true)else:    # lệnh... (được thực hiện nếu tất cả các biểu thức điều kiện đi kèm if và elif đều sai)

Cấu trúc lặp

1 while biểu_thức_đúng:2     # lệnh...
1 for phần_tử in dãy:2     # lệnh...
1 L = ["Ha Noi", "Hai Phong", "TP Ho Chi Minh"]2 for thanhPho in L:3     print thanhPho4 5 for i in range(10):6     print i

Hàm

1 def tên_hàm (tham_biến_1, tham_biến_2, tham_biến_n):2     # lệnh...3     return giá_trị_hàm
1 def binhPhuong(x):2     return x*x

Hàm với tham số mặc định:

1 def luyThua(x, n=2):2    """Lũy thừa với số mũ mặc định là 2"""3    return x**n4 5 print luyThua(3)   # 96 print luyThua(2,3) # 8

Lớp

 1 class Tên_Lớp_1: 2     #... 3  4 class Tên_Lớp_2(Tên_Lớp_1): 5     """Lớp 2 kế thừa lớp 1""" 6     x = 3  # biến thành viên của lớp 7     # 8     def phương_thức(self, tham_biến): 9         #...10 11 # khởi tạo12 a = Tên_Lớp_2()13 print a.x14 print a.phương_thức(m)  # m là giá trị gán cho tham biến

List Comprehension

List Comprehension là dạng cú pháp đặc biệt (syntactic sugar) (mới có từ Python 2.x) cho phép thao tác trên toàn bộ dãy (list) mà không cần viết rõ vòng lặp. Chẳng hạn y là một dãy mà mỗi phần tử của nó bằng bình phương của từng phần tử trong dãy x:

y = [xi**2 for xi in x]

Xử lý ngoại lệ

try:    câu_lệnhexcept Loại_Lỗi:    thông báo lỗi